import { setupAnt, setupVxe, setupIcon, setupVant } from './tools'
import type { App } from 'vue'

export * from './render/enums'
export * from './render/models'
export * from './defaultConfig/model'
export type { BwCallFunctionEngineOptionsModel } from './render/utils/setupLogic/model'

export { createInsCom } from './render/insCom'
export { getComDefaultOptions } from './defaultConfig/index'
export { getNodeComAttrs, getNodeComEmits, getNodeComSlots } from './config'

/** 挂载基础组件渲染实例依赖 */
export function useInsRely(app: App<Element>) {
  setupAnt(app) // 挂载ant
  setupVxe(app) // 挂载vxe表格
  setupIcon(app) // 挂载图标组件
  setupVant(app) // 挂载 Vant
}
